Skip to content

解密模型包到文件 - YoloDecryptModel

函数简介

解密加密包,写出明文主模型、可选 NCNN param 与类别名表。

接口名称

YoloDecryptModel

DLL 调用

int YoloDecryptModel(long ola, string packagePath, string password, string modelOutPath, string ncnnParamOutPath, string namesLabelOutPath, int* modelType, int* inferenceType);

参数说明

参数名类型说明
ola长整数型OLAPlug 对象指针,由 CreateCOLAPlugInterFace 生成。
packagePath字符串加密包路径。
password字符串解密密码。
modelOutPath字符串明文主模型输出路径。
ncnnParamOutPath字符串NCNN .param 输出,可空。
namesLabelOutPath字符串类别名表输出,可空。
modelType整数型*输出:模型类型。
inferenceType整数型*输出:推理类型。

示例

SDK 调用

cpp
#include "OLAPlugServer.h"

OLAPlugServer ola;
// 模型加解密通常用于发布/部署流程
int ret = ola.YoloDecryptModel("models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam");
csharp
using OLAPlug;

var ola = new OLAPlugServer();
// 模型加解密通常用于发布/部署流程
int ret = ola.YoloDecryptModel("models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam");
python
from OLAPlugServer import OLAPlugServer

ola = OLAPlugServer()
# 模型加解密通常用于发布/部署流程
ret = ola.YoloDecryptModel("models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam")
java
import com.olaplug.OLAPlugServer;

OLAPlugServer ola = new OLAPlugServer();
// 模型加解密通常用于发布/部署流程
int ret = ola.YoloDecryptModel("models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam");
cpp
var ola = com("OlaPlug.OlaSoft")
// 模型加解密通常用于发布/部署流程
var ret = ola.YoloDecryptModel("models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam")
vbscript
Set ola = CreateObject("OlaPlug.OlaSoft")
' 模型加解密通常用于发布/部署流程
ret = ola.YoloDecryptModel("models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam")
text
.局部变量 ola, OLAPlug
ola.创建 ()
' 模型加解密通常用于发布/部署流程
ret = ola.YoloDecryptModel(“models/raw.onnx“, “models/raw.param“, “labels.txt“, “pwd“, 0, 0, “models/out.olam“)
aardio
import OLAPlugServer;
var ola = OLAPlugServer();
// 模型加解密通常用于发布/部署流程
var ret = ola.YoloDecryptModel("models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam");
text
变量 ola <类型 = OLAPlugServer>
ola = 新建 OLAPlugServer
// 模型加解密通常用于发布/部署流程
整数 ret = ola.YoloDecryptModel("models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam")
cpp
#include "OLAPlugServer.h"

OLAPlugServer ola;
// 模型加解密通常用于发布/部署流程
int ret = ola.YoloDecryptModel("models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam");

原生 DLL 调用

cpp
long instance = CreateCOLAPlugInterFace();
YoloDecryptModel(instance, "models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam");
csharp
long instance = CreateCOLAPlugInterFace();
YoloDecryptModel(instance, "models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam");
python
from ctypes import CDLL, c_int, c_int64, create_string_buffer

ola = CDLL("OLAPlug_x64.dll")
ola.CreateCOLAPlugInterFace.restype = c_int64
instance = ola.CreateCOLAPlugInterFace()
YoloDecryptModel(instance, "models/raw.onnx", "models/raw.param", "labels.txt", "pwd", 0, 0, "models/out.olam")

返回值

返回值说明
1成功。
0失败。

注意事项

项目说明
模块权限需要插件已开通 YOLO 模块权限(Reg、Login的FeatureList中包含YOLO特性)。
含义
0TensorRT Engine(.engine)
1ONNX(.onnx)
2NCNN(.bin + .param 双文件)
含义
0Detect 目标检测
1Classify 图像分类
2Segment 实例分割
3Pose 姿态估计
4Obb 旋转框检测